'''
Description: 
Author: Zilu
Date: 2021-11-03 23:59:11
Version: 
LastEditTime: 2021-11-04 00:17:23
LastEditors: Zilu
'''

# 使用字典
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])

# 使用 in 判断键值是否存在字典中
print('Thomas' in d)
print('Michael' in d)

# 字典的get方法判断
print(d.get('Thomas'))
print(d.get('Thomas', -1))  # 返回自己的值

# dict 查找和插入快速，但使用的空间很多
# dict 的key值必须是不可变对象，整数、字符串不变，但是list可变，不可做为key值
key = [1, 2, 3]
# d[key]='a list'       # 使用错误，list 不可哈希


# set 只存储key值，不存储value，set中元素各不相同
s = set([1, 2, 3])
print(s, type(s))

# set 中的重复元素自动过滤
s = set([1, 1, 2, 2, 3, 3])
print(s, type(s))

# set的增删查改(好像没有查找方法)
s.add(4)
s.remove(1)
print(s)

# set可以看成数学意义上的集合
ss = {4, 5, 6, 7}
s_and = s & ss
s_or = s | ss
print(s_and, s_or)

# set由于存储的是key值，故不可放入可变对象
# 不变对象调用自身的任意方法都不会改变自身的内容，而是创建新的对象返回
s.add((1, 2, 3))
